package com.ruoyi.finance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商户充值提现申请对象 t_cw_cztx_apply
 * 
 * @author wish
 * @date 2021-06-23
 */
public class TCwCztxApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 自增 */
    private Long id;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long businessId;

    /** 商户名称 */
    @Excel(name = "商户名称")
    private String businessName;

    /** 充值或提现申请单号 */
    @Excel(name = "充值或提现申请单号")
    private String applyNo;

    /** 申请类型， 1：充值，2：提现 */
    @Excel(name = "申请类型， 1：充值，2：提现")
    private Integer applyType;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "终止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 申请提现金额 */
    @Excel(name = "申请提现金额")
    private BigDecimal applyAmount;

    /** 提现到账户ID(提现的时候必须) */
    @Excel(name = "提现到账户ID(提现的时候必须)")
    private Long accountDetailId;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String brankName;

    /** 开户支行 */
    @Excel(name = "开户支行")
    private String brankNameChildren;

    /** 账户名 */
    @Excel(name = "账户名")
    private String accountName;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String brankId;

    /** 审核状态， 1:待审核，2：审核通过，3：审核不通过（充值不需要审核，直接设置为审核通过） */
    @Excel(name = "审核状态， 1:待审核，2：审核通过，3：审核不通过", readConverterExp = "充=值不需要审核，直接设置为审核通过")
    private Integer checkState;

    /** 审核时间（充值的时候直接创建时间） */
    @Excel(name = "审核时间", readConverterExp = "充=值的时候直接创建时间")
    private Date checkDate;

    /** 审核人ID（充值的时候无） */
    @Excel(name = "审核人ID", readConverterExp = "充=值的时候无")
    private Long checkUserId;

    /** 审核人（充值的时候无） */
    @Excel(name = "审核人", readConverterExp = "充=值的时候无")
    private String checkUserName;

    /** 处理状态， 1:处理中，2：提现成功，3：提现失败， 4：充值成功, 5：充值失败 */
    @Excel(name = "处理状态， 1:处理中，2：提现成功，3：提现失败， 4：充值成功, 5：充值失败")
    private Integer processState;

    /** 支付流水号 */
    @Excel(name = "支付流水号")
    private String payFlowNo;

    /** 到账时间（提现的时候到账时间，充值的时候结算到账时间） */
    @Excel(name = "到账时间", readConverterExp = "提=现的时候到账时间，充值的时候结算到账时间")
    private Date dzDate;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private BigDecimal reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识,0:未删除，1：删除 */
    @Excel(name = "删除标识,0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }
    public void setBusinessName(String businessName) 
    {
        this.businessName = businessName;
    }

    public String getBusinessName() 
    {
        return businessName;
    }
    public void setApplyNo(String applyNo) 
    {
        this.applyNo = applyNo;
    }

    public String getApplyNo() 
    {
        return applyNo;
    }
    public void setApplyType(Integer applyType) 
    {
        this.applyType = applyType;
    }

    public Integer getApplyType() 
    {
        return applyType;
    }
    public void setApplyDate(Date applyDate) 
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate() 
    {
        return applyDate;
    }
    public void setApplyAmount(BigDecimal applyAmount) 
    {
        this.applyAmount = applyAmount;
    }

    public BigDecimal getApplyAmount() 
    {
        return applyAmount;
    }
    public void setAccountDetailId(Long accountDetailId) 
    {
        this.accountDetailId = accountDetailId;
    }

    public Long getAccountDetailId() 
    {
        return accountDetailId;
    }
    public void setBrankName(String brankName) 
    {
        this.brankName = brankName;
    }

    public String getBrankName() 
    {
        return brankName;
    }
    public void setBrankNameChildren(String brankNameChildren) 
    {
        this.brankNameChildren = brankNameChildren;
    }

    public String getBrankNameChildren() 
    {
        return brankNameChildren;
    }
    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }
    public void setBrankId(String brankId) 
    {
        this.brankId = brankId;
    }

    public String getBrankId() 
    {
        return brankId;
    }
    public void setCheckState(Integer checkState) 
    {
        this.checkState = checkState;
    }

    public Integer getCheckState() 
    {
        return checkState;
    }
    public void setCheckDate(Date checkDate) 
    {
        this.checkDate = checkDate;
    }

    public Date getCheckDate() 
    {
        return checkDate;
    }
    public void setCheckUserId(Long checkUserId) 
    {
        this.checkUserId = checkUserId;
    }

    public Long getCheckUserId() 
    {
        return checkUserId;
    }
    public void setCheckUserName(String checkUserName) 
    {
        this.checkUserName = checkUserName;
    }

    public String getCheckUserName() 
    {
        return checkUserName;
    }
    public void setProcessState(Integer processState) 
    {
        this.processState = processState;
    }

    public Integer getProcessState() 
    {
        return processState;
    }
    public void setPayFlowNo(String payFlowNo) 
    {
        this.payFlowNo = payFlowNo;
    }

    public String getPayFlowNo() 
    {
        return payFlowNo;
    }
    public void setDzDate(Date dzDate) 
    {
        this.dzDate = dzDate;
    }

    public Date getDzDate() 
    {
        return dzDate;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setReserve1(BigDecimal reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public BigDecimal getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessId", getBusinessId())
            .append("businessName", getBusinessName())
            .append("applyNo", getApplyNo())
            .append("applyType", getApplyType())
            .append("applyDate", getApplyDate())
            .append("applyAmount", getApplyAmount())
            .append("accountDetailId", getAccountDetailId())
            .append("brankName", getBrankName())
            .append("brankNameChildren", getBrankNameChildren())
            .append("accountName", getAccountName())
            .append("brankId", getBrankId())
            .append("checkState", getCheckState())
            .append("checkDate", getCheckDate())
            .append("checkUserId", getCheckUserId())
            .append("checkUserName", getCheckUserName())
            .append("processState", getProcessState())
            .append("payFlowNo", getPayFlowNo())
            .append("dzDate", getDzDate())
            .append("remarks", getRemarks())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
